/* Options: Date: 2026-04-15 18:51:02 Version: 6.110 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://kpm_digiofficeapigateway.tbi.nl/api //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetDocumentByNumber.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; abstract class ICustomProperties { Map? CustomProperties; } class Document implements IConvertible { String? GlobalID; String? RootDocumentID; String? Code; String? Subject; String? VersionNumber; bool? NewestVersion; Reference? RelationReference; Reference? DocumentTypeReference; Reference? ProjectReference; Reference? ConstructionBlockReference; Reference? ConstructionNumberReference; Reference? HousingTypeReference; int? Floor; bool? FloorSpecified; DateTime? DeletedDate; bool? DeletedDateSpecified; File? File; List? CustomFields; DateTime? CreationDate; String? CreatedBy; DateTime? ModifiedDate; String? ModifiedBy; Document({this.GlobalID,this.RootDocumentID,this.Code,this.Subject,this.VersionNumber,this.NewestVersion,this.RelationReference,this.DocumentTypeReference,this.ProjectReference,this.ConstructionBlockReference,this.ConstructionNumberReference,this.HousingTypeReference,this.Floor,this.FloorSpecified,this.DeletedDate,this.DeletedDateSpecified,this.File,this.CustomFields,this.CreationDate,this.CreatedBy,this.ModifiedDate,this.ModifiedBy}); Document.fromJson(Map json) { fromMap(json); } fromMap(Map json) { GlobalID = json['GlobalID']; RootDocumentID = json['RootDocumentID']; Code = json['Code']; Subject = json['Subject']; VersionNumber = json['VersionNumber']; NewestVersion = json['NewestVersion']; RelationReference = JsonConverters.fromJson(json['RelationReference'],'Reference',context!); DocumentTypeReference = JsonConverters.fromJson(json['DocumentTypeReference'],'Reference',context!); ProjectReference = JsonConverters.fromJson(json['ProjectReference'],'Reference',context!); ConstructionBlockReference = JsonConverters.fromJson(json['ConstructionBlockReference'],'Reference',context!); ConstructionNumberReference = JsonConverters.fromJson(json['ConstructionNumberReference'],'Reference',context!); HousingTypeReference = JsonConverters.fromJson(json['HousingTypeReference'],'Reference',context!); Floor = json['Floor']; FloorSpecified = json['FloorSpecified']; DeletedDate = JsonConverters.fromJson(json['DeletedDate'],'DateTime',context!); DeletedDateSpecified = json['DeletedDateSpecified']; File = JsonConverters.fromJson(json['File'],'File',context!); CustomFields = JsonConverters.fromJson(json['CustomFields'],'List',context!); CreationDate = JsonConverters.fromJson(json['CreationDate'],'DateTime',context!); CreatedBy = json['CreatedBy']; ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!); ModifiedBy = json['ModifiedBy']; return this; } Map toJson() => { 'GlobalID': GlobalID, 'RootDocumentID': RootDocumentID, 'Code': Code, 'Subject': Subject, 'VersionNumber': VersionNumber, 'NewestVersion': NewestVersion, 'RelationReference': JsonConverters.toJson(RelationReference,'Reference',context!), 'DocumentTypeReference': JsonConverters.toJson(DocumentTypeReference,'Reference',context!), 'ProjectReference': JsonConverters.toJson(ProjectReference,'Reference',context!), 'ConstructionBlockReference': JsonConverters.toJson(ConstructionBlockReference,'Reference',context!), 'ConstructionNumberReference': JsonConverters.toJson(ConstructionNumberReference,'Reference',context!), 'HousingTypeReference': JsonConverters.toJson(HousingTypeReference,'Reference',context!), 'Floor': Floor, 'FloorSpecified': FloorSpecified, 'DeletedDate': JsonConverters.toJson(DeletedDate,'DateTime',context!), 'DeletedDateSpecified': DeletedDateSpecified, 'File': JsonConverters.toJson(File,'File',context!), 'CustomFields': JsonConverters.toJson(CustomFields,'List',context!), 'CreationDate': JsonConverters.toJson(CreationDate,'DateTime',context!), 'CreatedBy': CreatedBy, 'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!), 'ModifiedBy': ModifiedBy }; getTypeName() => "Document"; TypeContext? context = _ctx; } class Document implements ICustomProperties, IConvertible { String? ID; String? RootDocumentID; String? RegistrationprofileID; String? Title; String? FullTitle; String? Number; String? Version; String? ExternalNumber; String? ExternalVersion; String? InternalNumber; String? InternalInvoiceNumber; int? PersonID; int? RelationID; String? RelationTitle; int? ProjectID; String? ProjectTitle; String? Extension; DateTime? Date; int? CommentsCount; bool? HasComments; bool? HasPreview; String? ExtraField; bool? IsFavorite; String? DocumentcategoryText; int? FileSize; DateTime? FileDate; String? Hash; String? HashType; String? FileUrl; String? StandardDocumentUrl; bool? IsCorporateIdentity; String? UserTitle; bool? IsFrozen; int? InternalCompanyID; String? DirectUrl; bool? AllowDigitalSigningOnlyOnPrimaryVersions; bool? IsPrimaryVersion; String? FileExtension; Map? CustomProperties; Document({this.ID,this.RootDocumentID,this.RegistrationprofileID,this.Title,this.FullTitle,this.Number,this.Version,this.ExternalNumber,this.ExternalVersion,this.InternalNumber,this.InternalInvoiceNumber,this.PersonID,this.RelationID,this.RelationTitle,this.ProjectID,this.ProjectTitle,this.Extension,this.Date,this.CommentsCount,this.HasComments,this.HasPreview,this.ExtraField,this.IsFavorite,this.DocumentcategoryText,this.FileSize,this.FileDate,this.Hash,this.HashType,this.FileUrl,this.StandardDocumentUrl,this.IsCorporateIdentity,this.UserTitle,this.IsFrozen,this.InternalCompanyID,this.DirectUrl,this.AllowDigitalSigningOnlyOnPrimaryVersions,this.IsPrimaryVersion,this.FileExtension,this.CustomProperties}); Document.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ID = json['ID']; RootDocumentID = json['RootDocumentID']; RegistrationprofileID = json['RegistrationprofileID']; Title = json['Title']; FullTitle = json['FullTitle']; Number = json['Number']; Version = json['Version']; ExternalNumber = json['ExternalNumber']; ExternalVersion = json['ExternalVersion']; InternalNumber = json['InternalNumber']; InternalInvoiceNumber = json['InternalInvoiceNumber']; PersonID = json['PersonID']; RelationID = json['RelationID']; RelationTitle = json['RelationTitle']; ProjectID = json['ProjectID']; ProjectTitle = json['ProjectTitle']; Extension = json['Extension']; Date = JsonConverters.fromJson(json['Date'],'DateTime',context!); CommentsCount = json['CommentsCount']; HasComments = json['HasComments']; HasPreview = json['HasPreview']; ExtraField = json['ExtraField']; IsFavorite = json['IsFavorite']; DocumentcategoryText = json['DocumentcategoryText']; FileSize = json['FileSize']; FileDate = JsonConverters.fromJson(json['FileDate'],'DateTime',context!); Hash = json['Hash']; HashType = json['HashType']; FileUrl = json['FileUrl']; StandardDocumentUrl = json['StandardDocumentUrl']; IsCorporateIdentity = json['IsCorporateIdentity']; UserTitle = json['UserTitle']; IsFrozen = json['IsFrozen']; InternalCompanyID = json['InternalCompanyID']; DirectUrl = json['DirectUrl']; AllowDigitalSigningOnlyOnPrimaryVersions = json['AllowDigitalSigningOnlyOnPrimaryVersions']; IsPrimaryVersion = json['IsPrimaryVersion']; FileExtension = json['FileExtension']; CustomProperties = JsonConverters.fromJson(json['CustomProperties'],'Map',context!); return this; } Map toJson() => { 'ID': ID, 'RootDocumentID': RootDocumentID, 'RegistrationprofileID': RegistrationprofileID, 'Title': Title, 'FullTitle': FullTitle, 'Number': Number, 'Version': Version, 'ExternalNumber': ExternalNumber, 'ExternalVersion': ExternalVersion, 'InternalNumber': InternalNumber, 'InternalInvoiceNumber': InternalInvoiceNumber, 'PersonID': PersonID, 'RelationID': RelationID, 'RelationTitle': RelationTitle, 'ProjectID': ProjectID, 'ProjectTitle': ProjectTitle, 'Extension': Extension, 'Date': JsonConverters.toJson(Date,'DateTime',context!), 'CommentsCount': CommentsCount, 'HasComments': HasComments, 'HasPreview': HasPreview, 'ExtraField': ExtraField, 'IsFavorite': IsFavorite, 'DocumentcategoryText': DocumentcategoryText, 'FileSize': FileSize, 'FileDate': JsonConverters.toJson(FileDate,'DateTime',context!), 'Hash': Hash, 'HashType': HashType, 'FileUrl': FileUrl, 'StandardDocumentUrl': StandardDocumentUrl, 'IsCorporateIdentity': IsCorporateIdentity, 'UserTitle': UserTitle, 'IsFrozen': IsFrozen, 'InternalCompanyID': InternalCompanyID, 'DirectUrl': DirectUrl, 'AllowDigitalSigningOnlyOnPrimaryVersions': AllowDigitalSigningOnlyOnPrimaryVersions, 'IsPrimaryVersion': IsPrimaryVersion, 'FileExtension': FileExtension, 'CustomProperties': JsonConverters.toJson(CustomProperties,'Map',context!) }; getTypeName() => "Document"; TypeContext? context = _ctx; } /** * Get the details of a document by reference number */ // @Route("/documents/number", "POST") // @Api(Description="Get the details of a document by reference number") class GetDocumentByNumber implements IReturn, IConvertible, IPost { String? Number; String? Version; GetDocumentByNumber({this.Number,this.Version}); GetDocumentByNumber.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Number = json['Number']; Version = json['Version']; return this; } Map toJson() => { 'Number': Number, 'Version': Version }; createResponse() => Document(); getResponseTypeName() => "Document"; getTypeName() => "GetDocumentByNumber"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'kpm_digiofficeapigateway.tbi.nl', types: { 'ICustomProperties': TypeInfo(TypeOf.Interface), 'Document': TypeInfo(TypeOf.Class, create:() => Document()), 'Reference': TypeInfo(TypeOf.Class, create:() => Reference()), 'File': TypeInfo(TypeOf.Class, create:() => File()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CustomField': TypeInfo(TypeOf.Class, create:() => CustomField()), 'Map': TypeInfo(TypeOf.Class, create:() => Map()), 'GetDocumentByNumber': TypeInfo(TypeOf.Class, create:() => GetDocumentByNumber()), });